perm filename NAMEIN.SAI[11,ALS] blob
sn#062424 filedate 1973-09-17 generic text, type T, neo UTF8
00010 BEGIN "NAMEIN"
00020
00030 DEFINE ⊂="COMMENT";
00040 REQUIRE "BLOCKS.HDR[4,ALS]" SOURCE_FILE;
00050 INTEGER I,J,K,L,Q,P,CHAN1,CHAN2,CHAN3,CHAN4,EOF,HPOINT;
00060 INTEGER HPNT1,HPNT2,HPNT3,HPNT4;
00070 STRING READ1,READ2,READ3,READ4,READ5;
00080 INTEGER ARRAY INSAVE[0:4];
00090
00100 PROCEDURE OUTALL(STRING S);
00110 BEGIN
00120 STRING SS; INTEGER J;
00130 SETBREAK(18,0,NULL,"OSN");
00140 SS←SCAN(S,18,J);
00150 OUTSTR(SS);
00160 END;
00170
00180 SETBREAK(18,0,NULL,"OSN");
00190 CHAN1←1; CHAN2←2; CHAN3←3; CHAN4←4;
00200 HEADIN; ⊂ Bring in header information;
00210
00211 WHILE TRUE DO BEGIN
00212 OUTSTR("The following names have been assigned-"&CRLF);
00214 FOR I←0 STEP 1 UNTIL 23 DO OUTALL(CVSTR(INNAM[I])&TB);
00216 OUTSTR(CRLF);
00218
00220 WHILE TRUE DO BEGIN
00230 READ1←STRIN("Type name to be added to list (CR to stop) ");
00240 IF READ1="" THEN DONE ELSE BEGIN
00250 FOR I←0 STEP 1 UNTIL 23 DO IF INNAM[I]=0 THEN BEGIN
00260 INNAM[I]←CVASC(READ1); DONE END;
00270 IF I≥24 THEN BEGIN
00280 OUTSTR("Sorry, there is no more space."&CRLF); DONE END;
00290 END;
00300 END;
00305
00310 WHILE TRUE DO BEGIN
00320 READ1←STRIN("Now type name to be corrected, if any ");
00330 IF READ1="" THEN DONE ELSE BEGIN
00340 FOR I←0 STEP 1 UNTIL 23 DO IF CVASC(READ1)=INNAM[I] THEN BEGIN
00350 INNAM[I]←CVASC(READ2←STRIN("Type corrected name ")); DONE END;
00360 IF I≥24 THEN OUTSTR("Name could not be found, try again."&crlf);
00365 END;
00370 END;
00372 READ1←STRIN("Do you want to review the additions or corrections (Y or CR)");
00374 IF READ1="" THEN DONE END;
00010 CHAN1←GETCHAN;
00020 CLOSE(CHAN1);
00030 OPEN(CHAN1,"DSK",'10,0,10,0,0,EOF);
00040 ENTER(CHAN1,"TABHED.DAT",0);
00050 ARRYOUT(CHAN1,INNAM[0],INSIZ);
00060 ARRYOUT(CHAN1,FLIST[0],36);
00070 ARRYOUT(CHAN1,PHLIST[0],64);
00080 ARRYOUT(CHAN1,HLIST[0],64);
00090 ARRYOUT(CHAN1,NAMES[0],TABNUM);
00100 ARRYOUT(CHAN1,PARENT[0],TABNUM);
00110 ARRYOUT(CHAN1,PARENN[0],TABNUM);
00120 ARRYOUT(CHAN1,GATE[0],TABNUM);
00130 ARRYOUT(CHAN1,IN1[0],TABNUM);
00140 ARRYOUT(CHAN1,IN2[0],TABNUM);
00150 ARRYOUT(CHAN1,IN3[0],TABNUM);
00160 ARRYOUT(CHAN1,IN4[0],TABNUM);
00170 ARRYOUT(CHAN1,OUT1[0],TABNUM);
00180 ARRYOUT(CHAN1,OUT2[0],TABNUM);
00190 ARRYOUT(CHAN1,OUT3[0],TABNUM);
00200 ARRYOUT(CHAN1,OUT4[0],TABNUM);
00210 ARRYOUT(CHAN1,LRN1[0],TABNUM);
00220 ARRYOUT(CHAN1,LRN2[0],TABNUM);
00230 ARRYOUT(CHAN1,LRN3[0],TABNUM);
00240 ARRYOUT(CHAN1,LRN4[0],TABNUM);
00250 ARRYOUT(CHAN1,LEVEL[0],TABNUM);
00260
00270 CLOSE(CHAN1);
00280 RELEASE(CHAN1);
00310
00690
00700 END "NAMEIN";